package com.vhall.component.entity.interactive.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author guoxin.wang
 * @date 2021-06-11 20:47
 */
@Data
@TableName("questions")
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "QuestionsEntity对象", description = "questions表")
public class QuestionsEntityDTO implements Serializable {

    @ApiModelProperty(value = "问卷id")
    @TableId(value = "question_id", type = IdType.INPUT)
    @JsonProperty("question_id")
    private Integer questionId;

    @ApiModelProperty(value = "标题")
    @TableField("title")
    private String title;

    @ApiModelProperty(value = "简介")
    @TableField("description")
    private String description;

    @ApiModelProperty(value = "封面")
    @TableField("cover")
    private String cover;

    @ApiModelProperty(value = "业务扩展字段")
    @TableField("extend")
    private String extend;

    @ApiModelProperty(value = "用户id")
    @TableField("account_id")
    @JsonProperty("account_id")
    private String accountId;

    @ApiModelProperty(value = "appId")
    @TableField("app_id")
    @JsonProperty("app_id")
    private String appId;

    @ApiModelProperty(value = "是否公共问卷，1是0否，默认是")
    @TableField("is_public")
    @JsonProperty("is_public")
    private Integer isPublic = 1;

    @ApiModelProperty(value = "来源id")
    @TableField("source_id")
    @JsonProperty("source_id")
    private String sourceId;

    @TableField("created_at")
    @JsonProperty("created_at")
    private LocalDateTime createdAt;

    @TableField("updated_at")
    @JsonProperty("updated_at")
    private LocalDateTime updatedAt;

    @TableField("deleted_at")
    @JsonProperty("deleted_at")
    private LocalDateTime deletedAt;

}
